package com.lanyan.system.domain.vo;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.lanyan.common.annotation.RequiredField;
import com.baomidou.mybatisplus.annotation.TableId;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lanyan.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.alibaba.fastjson2.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.lanyan.common.core.domain.BaseEntity;

/**
 * 优惠券Vo对象 coupon
 *
 * @author lanyan
 * @date 2024-11-26
 */
@Data
public class CouponVo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    @TableId(value = "coupon_id", type = IdType.AUTO)
    @RequiredField(update = true,delete = true)
    private Long couponId;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 优惠券名称 */
    @Excel(name = "优惠券名称")
    @ApiModelProperty("优惠券名称")
    private String name;

    /** 满足金额 */
    @Excel(name = "满足金额")
    @ApiModelProperty("满足金额")
    private BigDecimal need;

    /** 优惠金额 */
    @Excel(name = "优惠金额")
    @ApiModelProperty("优惠金额")
    private BigDecimal derate;

    /** 有效期 */
    @Excel(name = "有效期")
    @ApiModelProperty("有效期")
    private String timer;

    /** 失效类型（0永久 1固定时间 2领取后多少日） */
    @Excel(name = "失效类型", readConverterExp = "0=永久,1=固定时间,2=领取后多少日")
    @ApiModelProperty("失效类型（0永久 1固定时间 2领取后多少日）")
    private String loseType;

    private Integer couponType;

    private Integer consumeAmount;


}
